home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-03
/
himath.zip
/
HIMATH.DOC
< prev
next >
Wrap
Text File
|
1991-10-04
|
41KB
|
535 lines
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 1
+-----------------+-----------------+-----------------+-----------------+
|TYPE |SIMPLE |3d VECTOR |COMPLEX |
|PRECISION |DOUBLE |DOUBLE |DOUBLE |
|RETURNS |DOUBLE |VRect |XRect |
+-----------------+-----------------+-----------------+-----------------+
+-----------------------------------------------------------------------+
|TRIGINOMETRIC ROUTINES |
+-----------------+-----------------+-----------------+-----------------+
|ArcCosine |ACOS# 2 | | |
|ArcSine |ASIN# 2 | | |
|ArcTangent |ATAN2# 2 | | |
|Triangle Solution|TriangleSolve 3 | | |
+-----------------+-----------------+-----------------+-----------------+
+-----------------------------------------------------------------------+
|TRANSLATION ROUTINES |
+-----------------+-----------------+-----------------+-----------------+
|ConvertFromPolar | | |XCnvP 8 |
|ConvertFromRect | | |XCnvR 8 |
|Magnitude | | |XMag# 8 |
|Angle | | |XAng# 8 |
|Real | | |XReal# 9 |
|Imaginary | | |XImag# 9 |
|Fmt As Polar Str | | |XFmtP$ 9 |
|Fmt As Rect Str | |VFmtR$ 7 |XFmtR$ 9 |
+-----------------+-----------------+-----------------+-----------------+
+-----------------------------------------------------------------------+
|ARITHMETIC ROUTINES |
+-----------------+-----------------+-----------------+-----------------+
|ADDITION |+ |VAdd 7 |XAdd 10 |
|SUBTRACTION |- |VSub 7 |XSub 10 |
|MULTIPLICATION |* |VmltX 7 |XMlt 10 |
| | |VMltD# 7 | |
|DIVISION |/ | |XDiv 10 |
|POWERS & ROOTS |^ | |XPwr 10 |
|CONJUGATE |na | |XCnj 11 |
|INVERSE |1/X | |XInv 11 |
+-----------------+-----------------+-----------------+-----------------+
+-----------------------------------------------------------------------+
|MATRIX OPERATIONS |
+-----------------+-----------------+-----------------+-----------------+
|Add |MtxAdd 4 | |XMtxAdd 12 |
|Subtract |MtxSub 4 | |XMtxSub 12 |
|Solve Simul Eq #1|MtxCoeff 4 | |XMtxCoeff 13 |
|Solve Simul Eq #2|MtxCoeffa 5 | |XMtxCoeffa 13 |
|Copy |MtxCopy 5 | |XMtxCopy 13 |
|Determinant |MtxDet 5 | |XMtxDet 14 |
|Invert |MtxInv 5 | |XMtxInv 14 |
|Scaler Product |MtxMltS 6 | |XMtxMltS 14 |
|Cross Product |MtxMltX 6 | |XMtxMltX 14 |
+-----------------+-----------------+-----------------+-----------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 2
+-----------------------------------------------------------------------+
| DOUBLE PRECISION INVERSE TRIGINOMETRIC FUNCTIONS |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Function: ArcCosine |
| Example: Theta# = ACOS#(x#) |
| Parameters: -1 <= x# <=+1 |
| Returns: Angle in Radians. 0 <= Theta <= Pi |
| Note: Two Quadrants Only. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Function: ArcSine |
| Example: Theta# = ASIN#(y#) |
| Parameters: -1 <= y# <=+1 |
| Returns: Angle in Radians. -Pi/2 <= Theta <= Pi/2 |
| Note: Two Quadrants Only. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Function: ArcTangent |
| Example: Theta# = ATAN2#(x#, y#) |
| Parameters: 1. "x" axis value. |
| 2. "y" axis value. |
| Returns: Angle in Radians. 0 <= Theta <= 2*Pi |
| Note: All Four Quadrants. if x=0, function will return a |
| value of +Pi/2 or -Pi/2 depending upon the value of |
| y#. |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 3
+-----------------------------------------------------------------------+
| DOUBLE PRECISION TRIANGLE SOLUTIONS |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Triangle Solution |
| Example: TriangleSolve PType$,p1#,p2#,p3#,A#(),S#(),Sols% |
| Parameters: 1. Problem Type String. Can Be any of the following: |
| |
| Problem Parm Parm Parm |
| Type 1 is 2 is 3 is |
| -------- ------ ------ ------ |
| "SSS" Side-A Side-B Side-C |
| "SAS" Side-A Angle-c Side-B |
| "ASA" Angle-a Side-C Angle-b |
| "AAS" Angle-a Angle-b Side-A |
| "SSA" Side-A Side-B Angle-a |
| |
| 2. Parameter #1 (see chart) |
| 3. Parameter #2 (see chart) |
| 4. Parameter #3 (see chart) |
| 5. One dimension Array, DIM A#(3), that will receive |
| the calculated angles |
| 6. One dimension Array, DIM S#(3), that will receive |
| the calculated sides. |
| 7. Returns 0 if there is no solution, 1 if there is 1 |
| solution, or 2 if there are 2 solutions. ALSO.... Set |
| parameter 7 to 2 to retreive the second solution. |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 4
+-----------------------------------------------------------------------+
| DOUBLE PRECISION MATRIX COMPUTATIONS |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Matrix Addition A+B=C |
| Example: MtxAdd MtxErr%, A#(), B#(), C#() |
| Parameters: 1. Returns Non-Zero Value if arrays are not |
| compatible |
| 2. Two Dimension Array. Input "A" |
| 3. Two Dimension Array. Input "B" |
| 4. Two Dimension Array. Resultant. |
| Notes: Arrays must be defined prior to use. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Matrix Subtraction A-B=C |
| Example: MtxSub MtxErr%, A#(), B#(), C#() |
| Parameters: 1. Returns Non-Zero Value if arrays are not |
| compatible |
| 2. Two Dimension Array. Input "A" |
| 3. Two Dimension Array. Input "B" |
| 4. Two Dimension Array. Resultant. |
| Notes: Arrays must be defined prior to use. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Linear System Solution #1 |
| Example: MtxCoeff MtxErr%, Mtx#(), Vctr#(), Coeff#() |
| Parameters: 1. Returns Non-Zero Value if arrays are not |
| compatible or if matrix is singular. |
| 2. Two Dimension Array. Input. Coefficients of the |
| equations of the system. |
| 3. One Dimension Array. Input. The column vector. |
| 4. One Dimension Array. Output. Solution to the |
| system of linear equations. |
| Notes: Arrays must be defined prior to use. The original |
| matrix is not altered. Array Mtx#() must be square |
| and Vctr#() and Coeff#() must be the same size as one |
| dimension as Mtx#(). ie n=3:DIM Mtx#(n,n), Vctr#(n), |
| Coeff#(n) |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 5
+-----------------------------------------------------------------------+
| Subroutine: Linear System Solution #2 |
| Example: MtxCoeffA MtxErr%, Mtx#() |
| Parameters: 1. Returns Non-Zero Value if arrays are not |
| compatible or if matrix is singular. |
| 2. Two Dimension Array. Input. Coefficients of the |
| equations of the system with the column vector entered|
| into column n+1. The solution to the system of linear |
| equations. is returned in column n+1. |
| Notes: Array must be defined prior to use. The original |
| matrix IS TRASHED !. This routine is faster than |
| MtxCoeff because it makes no effort to preserve the |
| original array or place the results in a seperate |
| array. Array Mtx#() must be rectangular with one more |
| column than rows n=3 : DIM Mtx#(n,n+1) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Duplicate An Array (Matrix) |
| Example: MtxCopy MtxErr%, Src#(), Dst#() |
| Parameters: 1. Returns Non-Zero Value if arrays are not |
| compatible. |
| 2. Two Dimensional Array. Source. |
| 3. Two Dimensional Array. Destination. |
| Notes: Arrays must be defined prior to use. They may be |
| either square or rectangular. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Function: Determinate of a Matrix. |
| Example: Determinate# = MtxDet#(MtxErr%, Mtx#()) |
| Parameters: 1. Returns Non-zero value if array is singular. |
| 2. Two Dimensional Square Matrix Array. |
| Returns: Determinate of the Matrix. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Invert Matrix |
| Example: MtxInv MtxErr%, A#(), C#() |
| Parameters: 1. Returns Non-zero value if array is singular. |
| 2. Two Dimensional Matrix Array To Invert. |
| 3. Two Dimensional Matrix Array To Receive Inverted |
| Matrix |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 6
+-----------------------------------------------------------------------+
| Subroutine: Scalar Product of a Matrix |
| Example: MtxMltS MtxErr%, A#(), B#, C#() |
| Parameters: 1. Returns Non-zero value if arrays are incompatible. |
| 2. Two Dimensional Matrix Array To Scale. |
| 3. Scalar |
| 4. Two Dimensional Matrix Array To Receive Scalar |
| Product. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Cross Product of a Matrix |
| Example: MtxMltX MtxErr%, A#(), B#(), C#() |
| Parameters: 1. Returns Non-zero value if arrays are incompatible. |
| 2. Two Dimensional Matrix Array. "A" |
| 3. Two Dimensional Matrix Array. "B" |
| 4. Two Dimensional Matrix Array To Receive Cross |
| Product (AxB). |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 7
+-----------------------------------------------------------------------+
| THREE DIMENSIONAL VECTOR ARITHMETIC |
+-----------------------------------------------------------------------+
| TYPE VRect |
| x AS DOUBLE |
| y AS DOUBLE |
| z AS DOUBLE |
| END TYPE |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: 3d Vector Addition |
| Example: VAdd Op1 AS VRect, Op2 AS VRect, Result AS VRect |
| Parameters: 1. Input First Vector "A" |
| 2. Input Second Vector "B" |
| 3. Returns Sum of Vectors (A+B) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: 3d Vector Subtraction |
| Example: VSub Op1 AS VRect, Op2 AS VRect, Result AS VRect |
| Parameters: 1. Input First Vector "A" |
| 2. Input Second Vector "B" |
| 3. Returns Difference of Vectors (A+B) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: 3d Vector Cross Product |
| Example: VMltX Op1 AS VRect, Op2 AS VRect, Result AS VRect |
| Parameters: 1. Input First Vector "A" |
| 2. Input Second Vector "B" |
| 3. Returns Cross Product of Vectors (AxB) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: 3d Vector Dot Product |
| Example: dp# = VMltD#(Op1 AS VRect, Op2 AS VRect) |
| Parameters: 1. Input First Vector "A" |
| 2. Input Second Vector "B" |
| Returns: 3. Returns Dot Product of Vectors (A*B) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Function: Format 3d Vector for Printing |
| Example: PRINT VFmtR$(Op1 AS VRect) |
| Parameters: 1. Vector |
| Returns: 2. String similar to +45.7x-223.345y+.051z |
| Notes: Crude, but helps debugging. |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 8
+-----------------------------------------------------------------------+
| COMPLEX NUMBER CONVERSION AND FORMATTING |
+-----------------------------------------------------------------------+
| TYPE XRect |
| x AS DOUBLE |
| y AS DOUBLE |
| END TYPE |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Convert Complex Number in Polar Format to User Type. |
| Example: XCnvP r#, t#, Result AS XRect |
| Parameters: 1. Magnitude (radius) of number |
| 2. Angle (theta) of number in radians |
| 3. Returns number in User Type to be used in |
| calculations. |
| Notes: Can also be used for a quick and dirty polar to |
| rectangular conversion. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Convert Complex Number in Rectangular Format to User |
| Type. |
| Example: XCnvR i#, j#, Result AS XRect |
| Parameters: 1. Real portion of number |
| 2. Imaginary portion of number |
| 3. Returns number in User Type to be used in |
| calculations. |
| Notes: Provided only for consistancy. The user type is |
| already in rectangular format. The same effect can be |
| had by: Result.x = i# : Result.y = j# |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Function: Find Angle of Complex Number |
| Example: Degrees# = XAng#(Op1 AS XRect) * 180 / Pi |
| Parameters: 1. Complex Number |
| Returns: Angle of Complex Number (in radians) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Function: Find Magnitude of Complex Number |
| Example: Magnitude# = XMag#(Op1 AS XRect) |
| Parameters: 1. Complex Number |
| Returns: Magnitude of Complex Number |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 9
+-----------------------------------------------------------------------+
| Function: Find Real Portion of Complex Number |
| Example: Real# = XReal#(Op1 AS XRect) |
| Parameters: 1. Complex Number |
| Returns: Imaginary Portion of Complex Number |
| Note: Provided only for consistancy. The user type is |
| already in rectangular format. The same effect can be |
| had by: Real# = Op1.x |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Function: Find Imaginary Portion of Complex Number |
| Example: Unreal# = XImag#(Op1 AS XRect) |
| Parameters: 1. Complex Number |
| Returns: Imaginary Portion of Complex Number |
| Note: Provided only for consistancy. The user type is |
| already in rectangular format. The same effect can be |
| had by: Unreal# = Op1.y |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Function: Format Complex Number for Printing (polar format) |
| Example: PRINT XFmtP$(Op1 AS XRect) |
| Parameters: 1. Complex Number |
| Returns: 2. String similar to +45.7<-223.345 Deg |
| Notes: Crude, but helps debugging. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Function: Format Complex Number for Printing (rectangular |
| format) |
| Example: PRINT XFmtR$(Op1 AS XRect) |
| Parameters: 1. Complex Number |
| Returns: 2. String similar to +45.7-223.345j |
| Notes: Crude, but helps debugging. |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 10
+-----------------------------------------------------------------------+
| COMPLEX NUMBER ARITHMETIC |
+-----------------------------------------------------------------------+
| TYPE XRect |
| x AS DOUBLE |
| y AS DOUBLE |
| END TYPE |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Add Two Complex Numbers |
| Example: XAdd Op1 AS XRect, Op2 AS XRect, Result AS XRect |
| Parameters: 1. Complex Number "A" |
| 2. Complex Number "B" |
| 3. Returns Complex Number (A+B) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Subtract Two Complex Numbers |
| Example: XSub Op1 AS XRect, Op2 AS XRect, Result AS XRect |
| Parameters: 1. Complex Number "A" |
| 2. Complex Number "B" |
| 3. Returns Complex Number (A-B) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Multiply Two Complex Numbers |
| Example: XMlt Op1 AS XRect, Op2 AS XRect, Result AS XRect |
| Parameters: 1. Complex Number "A" |
| 2. Complex Number "B" |
| 3. Returns Complex Number (AxB) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Divide Two Complex Numbers |
| Example: XDiv Op1 AS XRect, Op2 AS XRect, Result AS XRect |
| Parameters: 1. Complex Number "A" |
| 2. Complex Number "B" |
| 3. Returns Complex Number (A/B) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Raise a Complex Number to a real power |
| Example: XPwr Op1 AS XRect, Op2#, Result AS XRect |
| Parameters: 1. Complex Number "A" |
| 2. Real Number "B" |
| 3. Returns Complex Number (A^B) |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 11
+-----------------------------------------------------------------------+
| Subroutine: Find the conjugate of a Complex Number |
| Example: XCnj Op1 AS XRect, Result AS XRect |
| Parameters: 1. Complex Number "A" |
| 2. Returns Complex Number conj(A) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Find the inverse of a Complex Number |
| Example: XInv (Op1 AS XRect, Result AS XRect) |
| Parameters: 1. Complex Number "A" |
| 2. Returns Complex Number (1/A) |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 12
+-----------------------------------------------------------------------+
| COMPLEX MATRIX ARITHMETIC |
+-----------------------------------------------------------------------+
| TYPE XRect |
| x AS DOUBLE |
| y AS DOUBLE |
| END TYPE |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Complex Number Matrix Addition (A+B=C) |
| Example: XMtxAdd MErr%,A() AS XRect,B() AS XRect,C() AS XRect |
| Parameters: 1. Returns Non-Zero Value if Complex Nbr Arrays are |
| not compatible |
| 2. Two Dimension Complex Nbr Array. Input "A" |
| 3. Two Dimension Complex Nbr Array. Input "B" |
| 4. Two Dimension Complex Nbr Array. Resultant. |
| Notes: Arrays must be defined prior to use. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Complex Number Matrix Subtraction (A-B=C) |
| Example: XMtxSub MErr%,A() AS XRect,B() AS XRect,C() AS XRect |
| Parameters: 1. Returns Non-Zero Value if Complex Nbr Arrays are |
| not compatible |
| 2. Two Dimension Complex Nbr Array. Input "A" |
| 3. Two Dimension Complex Nbr Array. Input "B" |
| 4. Two Dimension Complex Nbr Array. Resultant. |
| Notes: Arrays must be defined prior to use. |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 13
+-----------------------------------------------------------------------+
| Subroutine: Complex Number Linear System Solution #1 |
| Example: XMtxCoeff MErr%,Mtx() AS XRect,Vctr() AS XRect,Coef() |
| Parameters: 1. Returns Non-Zero Value if Complex Nbr Arrays are |
| not compatible or if matrix is singular. |
| 2. Two Dimension Complex Nbr Array. Input. |
| Coefficients of the equations of the system. |
| 3. One Dimension Complex Nbr Array. Input. The column |
| vector. |
| 4. One Dimension Complex Nbr Array. Output. Solution |
| to the system of linear equations. |
| Notes: Arrays must be defined prior to use. The original |
| matrix is not altered. Complex Nbr Array Mtx() must |
| be square and Vctr() and Coeff() must be the same |
| size as one dimension as Mtx(). ie. n=3:DIM Mtx(n,n) |
| as XRect, Vctr(n) as XRect, Coeff(n) as XRect |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Complex Number Linear System Solution #2 |
| Example: XMtxCoeffA (MErr%, Mtx() AS XRect) |
| Parameters: 1. Returns Non-Zero Value if Complex Nbr Arrays are |
| not compatible or if matrix is singular. |
| 2. Two Dimension Complex Nbr Array. Input. |
| Coefficients of the equations of the system with the |
| column vector entered into column n+1. The solution |
| to the system of linear equations. is returned in |
| column n+1. |
| Notes: Array must be defined prior to use. The original |
| matrix IS TRASHED !. This routine is faster than |
| MtxCoeff because it makes no effort to preserve the |
| original Complex Nbr Array or place the results in a |
| seperate array. Complex Nbr Array Mtx() must be |
| rectangular with one more column than rows n=3 : DIM |
| Mtx(n,n+1) as XRect |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Duplicate Complex Number Matrix |
| Example: XMtxCopy MErr%, Src() AS XRect, Dst() AS XRect |
| Parameters: 1. Returns Non-Zero Value if Complex Nbr Arrays are |
| not compatible. |
| 2. Two Dimensional Complex Nbr Array. Source. |
| 3. Two Dimensional Complex Nbr Array. Destination. |
| Notes: Arrays must be defined prior to use. They may be |
| either square or rectangular. |
+-----------------------------------------------------------------------+
"HIMATH" Library Routines for QuickBASIC (c)1991 Kevin T. Jorgensen
Documentation Page 14
+-----------------------------------------------------------------------+
| Subroutine: Find Determinant of Complex Number Matrix |
| Example: XMtxDet MErr%, XMtx() AS XRect |
| Parameters: 1. Returns Non-zero value if Complex Nbr Array is |
| singular. |
| 2. Two Dimensional Square Matrix Complex Nbr Array. |
| Notes: Determinant is returned as element 0,0 of the matrix. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Invert Complex Number Matrix |
| Example: XMtxInv MErr%, A() AS XRect, Mtx() AS XRect |
| Parameters: 1. Returns Non-zero value if Complex Nbr Array is |
| singular. |
| 2. Two Dimensional Matrix Complex Nbr Array To |
| Invert. |
| 3. Two Dimensional Matrix Complex Nbr Array To |
| Receive Inverted Matrix |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Complex Number Matrix Scalar Product |
| Example: XMtxMltS MErr%,A() AS XRect,B AS XRect,C() AS XRect |
| Parameters: 1. Returns Non-zero value if Complex Nbr Arrays are |
| incompatible. |
| 2. Two Dimensional Matrix Complex Nbr Array To Scale. |
| 3. Scalar |
| 4. Two Dimensional Matrix Complex Nbr Array To |
| Receive Scalar Product. |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| Subroutine: Complex Number Matrix Cross Product |
| Example: XMtxMltX MErr%,A() AS XRect,B() AS XRect,C() AS XRect |
| Parameters: 1. Returns Non-zero value if Complex Nbr Arrays are |
| incompatible. |
| 2. Two Dimensional Matrix Complex Nbr Array. "A" |
| 3. Two Dimensional Matrix Complex Nbr Array. "B" |
| 4. Two Dimensional Matrix Complex Nbr Array To |
| Receive Cross Product (AxB). |
+-----------------------------------------------------------------------+